<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <span>{{ msg }}</span>

      <base-layout>
        <template v-slot:header>
          <div>我的头</div>
        </template>
        <template v-slot:default>
          <div>我的身体</div>
        </template>
        <template v-slot:footer>
          <div>我的第一支脚</div>
          <div>我的第二支脚</div>
        </template>
        <!-- 如果重复填充插槽，后面会覆盖之前的 -->
        <!-- <template v-slot:footer>
          <div>我的第二支脚</div>
        </template> -->
      </base-layout>
    </div>

    <script src="./js/vue.js"></script>
    <script>
      Vue.component('BaseLayout', {
        template: `
          <div>

            <header>
              <h1>这是头部</h1>
              <slot name="header"></slot>
            </header>

            <main>
              <h1>这是身体</h1>
              <slot name="default"></slot>
            </main>

            <footer>
              <h1>这是脚</h1>
              <slot name="footer"></slot>
            </footer>

          </div>
        `,
      });

      new Vue({
        el: '#app',
        data: {
          msg: 'hehe',
        },
      });
    </script>
  </body>
</html>
